 package com.tjwx.util;

 import java.io.*;
 import java.util.ArrayList;
 import java.util.List;

 public class WriterOrReaderTxt {
     // 写文件
     /**
      * 文件路经
      * @param path
      */
     public void writerlist2Txt(String path,List<String> list) {
         BufferedWriter fw = null;
         try {
             File file = new File(path);
             fw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true), "UTF-8")); // 指定编码格式，以免读取时中文字符异常
             for (int i = 0; i < list.size(); i++) {
                 fw.append(list.get(i));
                 if(i!=list.size()-1){
                     fw.newLine();
                 }
             }
             fw.flush(); // 全部写入缓存中的内容
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
             if (fw != null) {
                 try {
                     fw.close();
                 } catch (IOException e) {
                     e.printStackTrace();
                 }
             }
         }
     }

     // 读文件
     public void readTxt(String filename) {
         //String filePath = WriterOrReaderTxt.class.getResource("").getPath().replace("file:", "") + "/test.txt"; // 文件和该类在同个目录下
         String filePath = filename; // 文件和该类在同个目录下
         BufferedReader reader = null;
         try {
             reader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "UTF-8")); // 指定读取文件的编码格式，要和写入的格式一致，以免出现中文乱码,
             String str = null;
             while ((str = reader.readLine()) != null) {
                 System.out.println(str);
             }
         } catch (FileNotFoundException e) {
             e.printStackTrace();
         } catch (IOException e) {
             e.printStackTrace();
         } finally {
             try {
                 reader.close();
             } catch (IOException e) {
                 e.printStackTrace();
             }
         }
     }

     // 读文件
     public List<String> readTxt2list(String filename) {
         String filePath = filename; // 文件和该类在同个目录下
         List<String> list = new ArrayList<String>();
         BufferedReader reader = null;
         try {
             reader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "UTF-8")); // 指定读取文件的编码格式，要和写入的格式一致，以免出现中文乱码,
             String str = null;
             while ((str = reader.readLine()) != null) {
                 //System.out.println(str);
                 list.add(str);
             }
         } catch (FileNotFoundException e) {
             e.printStackTrace();
         } catch (IOException e) {
             e.printStackTrace();
         } finally {
             try {
                 reader.close();
             } catch (IOException e) {
                 e.printStackTrace();
             }
         }
         return list;
     }
 }
